毕设笔记05

您所在的位置:网站首页 arduino 储存 毕设笔记05

毕设笔记05

#毕设笔记05| 来源: 网络整理| 查看: 265

今天来实践将串口数据保存到本地,通过串口读取DHT11温湿度传感器所检测的值,方便之后上传数据。 1、Arduino代码 该代码已经预先装好了DHT11所需要的库文件,如果不会装库文件可以参考之前发的帖子毕设笔记04

#include dht11 DHT; #define DHT11_PIN 4 void setup(){ Serial.begin(9600); Serial.println("DHT TEST PROGRAM "); Serial.print("LIBRARY VERSION: "); Serial.println(DHT11LIB_VERSION); Serial.println(); Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)"); } void loop(){ int chk; Serial.print("DHT11, \t"); chk = DHT.read(DHT11_PIN); switch (chk){ case DHTLIB_OK: Serial.print("OK,\t"); break; case DHTLIB_ERROR_CHECKSUM: Serial.print("Checksum error,\t"); break; case DHTLIB_ERROR_TIMEOUT: Serial.print("Time out error,\t"); break; default: Serial.print("Unknown error,\t"); break; } Serial.print(DHT.humidity,1); Serial.print(",\t"); Serial.println(DHT.temperature,1); delay(1000); }

将代码编译并下载到Arduino开发板,DHT11温湿度传感器与Arduino接线如下表:

DHT11ArduinoVCC3.3VDATADIGITAL 4GNDGND

2、安装 pyserial模块 pyserial模块封装了对串口的访问,系统要求:python 2.3及以上版本。 在电脑命令提示符窗口切换到python的安装路径,执行如下命令:

pip install pyserial

自动安装等待即可,如下图就表明安装成功: 在这里插入图片描述 3、python代码

import time import serial ser = serial.Serial( port='COM4', #端口号 baudrate=9600, parity=serial.PARITY_ODD, # 校验位 stopbits=serial.STOPBITS_TWO, # 停止位 bytesize=serial.SEVENBITS # 数据位 ) data = '' while True: data = ser.readline() t = time.time() ct = time.ctime(t) print(ct, ':') print(data) f = open('D:/test.txt', 'a')#数据保存的路径 f.writelines(ct) f.writelines(':\n') f.writelines(data.decode('utf-8')) f.close()

注:端口号在Arduino连接电脑后在设备管理器中查看,自己的是COM几就修 改为COM几 在自己想要保存数据的文件夹新建 .txt文件,命令随意,在代码上修改数据保存的路径 在python自身提供的IDLE集成开发环境执行如上代码,或者直接在命令提示符窗口下执行,执行结果如下(cmd中运行): 111111 打开保存数据的 test.txt 文件,即可看到温湿度数据已经保存到文件之中。 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3